<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Object defineProperty</title>
</head>
<body>
    <script>
        /* 
            defineProperty（只能操作一个属性）
            1：可以为对象添加属性，或者修改现有属性。
            如果指定的属性名在对象中不存在，则执行添加操作；
            如果在对象中存在同名属性，则执行修改操作
        */
        var obj1 = {
            name: 'zs'
        }

        // 添加对象的属性并赋值
        Object.defineProperty(obj1,'sex',{
            value: 10,
            writable: true, // 默认false，是否可以设置
            enumerable: true, // 默认false，是否可以枚举
            configurable: true, // 默认false， 是否可以删除
        })
        console.log(obj1);

        // 修改对象属性的值
        Object.defineProperty(obj1,'name',{
           value: 'ls',
            writable: true,
            enumerable: true,
            configurable: true,
        })
        console.log(obj1);


        /* 
            defineProperties（操作多个属性）
            多个属性，属性放在对象里
        */
       var obj2 = {
           name: 'zs'
       }
       Object.defineProperties(obj2,{
           sex:{
               value: '女'
           },
           age: {
               value: 18
           }
       })
       console.log(obj2);
    </script>
</body>
</html>